﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DevExpress.Xpo;



namespace Sigad.objects.XpoObjects
{

    [Persistent("ADM_DOCUMENTO ")]
    public class AdmDocumento : XPBaseObject
    {

        private Int32 tipoDocumentoId;
        [Persistent("adm_TipoDocId"), Key]
        public Int32 TipoDocumentoId
        {
            get { return tipoDocumentoId; }
            set { SetPropertyValue<Int32>("TipoDocumentoId", ref tipoDocumentoId, value); }
        }

        private string nombre;
        [Persistent("adm_Nombre"), Key]
        public string Nombre
        {
            get { return nombre; }
            set { SetPropertyValue<string>("Nombre", ref nombre, value); }
        }

        private string descripcion;
        [Persistent("adm_Descripcion"), Key]
        public string Descripcion
        {
            get { return descripcion; }
            set { SetPropertyValue<string>("Descripcion", ref descripcion, value); }
        }

    }

    [Persistent("ADM_CARGOS")]
    public class AdmCargo : XPObject
    {
        private string codigo;
        [Persistent("adm_Codigo"), Key]
        public string Codigo
        {
            get { return Codigo; }
            set { SetPropertyValue<string>("Codigo", ref codigo, value); }
        }

        private string nombre;
        [Persistent("adm_Nombre")]
        public string Nombre
        {
            get { return nombre; }
            set { SetPropertyValue<string>("Nombre", ref nombre, value); }
        }
    }

    [Persistent("ADM_ROLES")]
    public class AdmRoles : XPBaseObject
    {

        private Int32 rolId;
        [Persistent("adm_RolId"), Key]
        public Int32 RolId
        {
            get { return rolId; }
            set { SetPropertyValue<Int32>("RolId", ref rolId, value); }
        }

        private string nombre;
        [Persistent("adm_Nombre_Rol"), Key]
        public string Nombre
        {
            get { return nombre; }
            set { SetPropertyValue<string>("Nombre", ref nombre, value); }
        }

        private string descripcion;
        [Persistent("adm_Descripcion"), Key]
        public string Descripcion
        {
            get { return descripcion; }
            set { SetPropertyValue<string>("Descripcion", ref descripcion, value); }
        }
    }


    [Persistent("ADM_ROLES_DISTRI")]
    public class AdmRolesDis : XPBaseObject
    {

        private Int32 rolDisId;
        [Persistent("adm_RolDisId"), Key]
        public Int32 RolDisId
        {
            get { return rolDisId; }
            set { SetPropertyValue<Int32>("RolDisId", ref rolDisId, value); }
        }

        private string nombreDis;
        [Persistent("adm_Nombre_RolDis"), Key]
        public string NombreDis
        {
            get { return nombreDis; }
            set { SetPropertyValue<string>("NombreDis", ref nombreDis, value); }
        }

        private string descripcionDis;
        [Persistent("adm_Descripcion"), Key]
        public string DescripcionDis
        {
            get { return descripcionDis; }
            set { SetPropertyValue<string>("Descripcion", ref descripcionDis, value); }
        }
    }

    [Persistent("ADM_PERSONA")]
    public class AdmPersona : XPBaseObject
    {

        private Int32 admPersonaId;
        [Persistent("adm_PersonaId"), Key]
        public Int32 AdmPersonaId
        {
            get { return admPersonaId; }
            set { SetPropertyValue<Int32>("AdmPersonaId", ref admPersonaId, value); }
        }

        private string nombre;
        [Persistent("adm_Nombre_Rol"), Key]
        public string Nombre
        {
            get { return nombre; }
            set { SetPropertyValue<string>("Nombre", ref nombre, value); }
        }

        private string descripcion;
        [Persistent("adm_Descripcion"), Key]
        public string Descripcion
        {
            get { return descripcion; }
            set { SetPropertyValue<string>("Descripcion", ref descripcion, value); }
        }
    }


    [Persistent("DB_PERSONA_NAT")]
    public class PersonaNat : XPObject
    {

        private AdmDocumento tipoDocumento;
        [Persistent("pn_admDocumento")]
        public AdmDocumento TipoDocumento
        {
            get { return tipoDocumento; }
            set { SetPropertyValue<AdmDocumento>("AdmDocumento", ref tipoDocumento, value); }
        }

        private AdmCargo tipoCargo;
        [Persistent("pn_admCargo")]
        public AdmCargo TipoCargo
        {
            get { return tipoCargo; }
            set { SetPropertyValue<AdmCargo>("AdmCargo", ref tipoCargo, value); }
        }


        private Int32 identificacion;
        [Persistent("pn_Identificacion"), Size(50)]
        public Int32 Identificacion
        {
            get { return identificacion; }
            set { SetPropertyValue<Int32>("pnIdentificacion", ref identificacion, value); }
        }

        private string nombres;
        [Persistent("pn_Nombres"), Size(50)]
        public string Nombres
        {
            get { return nombres; }
            set { SetPropertyValue<string>("pnNombres", ref nombres, value); }
        }

        private string apellidos;
        [Persistent("pn_Apellidos"), Size(50)]
        public string Apellidos
        {
            get { return apellidos; }
            set { SetPropertyValue<string>("pnApellidos", ref apellidos, value); }
        }

        private string direccion;
        [Persistent("pn_Direccion"), Size(150)]
        public string Direccion
        {
            get { return direccion; }
            set { SetPropertyValue<string>("pnDireccion", ref direccion, value); }
        }

        private string telefono;
        [Persistent("pn_Telefono"), Size(20)]
        public string Telefono
        {
            get { return telefono; }
            set { SetPropertyValue<string>("pnTelefono", ref telefono, value); }
        }

        private DateTime fechaCreacion;
        [Persistent("pn_Fecha_Creacion"), Size(20)]
        public DateTime FechaCreacion
        {
            get { return fechaCreacion; }
            set { SetPropertyValue<DateTime>("pnFechaCreacion", ref fechaCreacion, value); }
        }

        private DateTime fechaActualizacion;
        [Persistent("pn_Fecha_Actualizacion"), Size(20)]
        public DateTime FechaActualizacion
        {
            get { return fechaActualizacion; }
            set { SetPropertyValue<DateTime>("pnFechaActualizacion", ref fechaActualizacion, value); }
        }

    }

    [Persistent("DB_PERSONA_JUR")]
    public class Personajur : XPObject
    {

        private AdmDocumento tipoDocumento;
        [Persistent("pj_admDocumento")]
        public AdmDocumento TipoDocumento
        {
            get { return tipoDocumento; }
            set { SetPropertyValue<AdmDocumento>("AdmDocumento", ref tipoDocumento, value); }
        }

        private Int32 identificacion;
        [Persistent("pj_Identificacion"), Size(50)]
        public Int32 Identificacion
        {
            get { return identificacion; }
            set { SetPropertyValue<Int32>("pjIdentificacion", ref identificacion, value); }
        }

        private string razonSocial;
        [Persistent("pn_RazonSocial"), Size(150)]
        public string RazonSocial
        {
            get { return razonSocial; }
            set { SetPropertyValue<string>("pnRazonSocial", ref razonSocial, value); }
        }

        private string direccion;
        [Persistent("pj_Direccion"), Size(150)]
        public string Direccion
        {
            get { return direccion; }
            set { SetPropertyValue<string>("pjDireccion", ref direccion, value); }
        }

        private string telefono;
        [Persistent("pj_Telefono"), Size(20)]
        public string Telefono
        {
            get { return telefono; }
            set { SetPropertyValue<string>("pjTelefono", ref telefono, value); }
        }

        private AdmRolesDis tipoRolDistrib;
        [Persistent("pj_AdmRolDistrb")]
        public AdmRolesDis TipoRolDistrib
        {
            get { return tipoRolDistrib; }
            set { SetPropertyValue<AdmRolesDis>("AdmRolDistrib", ref tipoRolDistrib, value); }
        }

        private DateTime fechaCreacion;
        [Persistent("pj_Fecha_Creacion"), Size(20)]
        public DateTime FechaCreacion
        {
            get { return fechaCreacion; }
            set { SetPropertyValue<DateTime>("pnFechaCreacion", ref fechaCreacion, value); }
        }

        private DateTime fechaActualizacion;
        [Persistent("pj_Fecha_Actualizacion"), Size(20)]
        public DateTime FechaActualizacion
        {
            get { return fechaActualizacion; }
            set { SetPropertyValue<DateTime>("pjFechaActualizacion", ref fechaActualizacion, value); }
        }

    }

    [Persistent("DB_USUARIO")]
    public class Usuarios : XPObject
    {
        private PersonaNat pnIdentificacion;
        [Persistent("pn_Identificacion")]
        public PersonaNat PnIdentificacion
        {
            get { return pnIdentificacion; }
            set { SetPropertyValue<PersonaNat>("pnIdentificacion", ref pnIdentificacion, value);}
        }

        private string usuario;
        [Persistent("du_Usuario"), Size(25)]
        public string Usuario
        {
            get { return usuario; }
            set { SetPropertyValue<string>("duUsuario", ref usuario, value); }
        }

        private string contrasena;
        [Persistent("du_Contrasena"), Size(35)]
        public string Contrasena
        {
            get { return contrasena; }
            set { SetPropertyValue<string>("duContrasena", ref contrasena, value); }
        }

    }

}
